﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TRPOP.CRM.Component.Model
{
    /// <summary>
    /// 员工基本信息
    /// </summary>
    [Serializable]
    public class EmployeeInfo
    {

        /// <summary>
        ///  ID
        /// </summary>
        public int iEmployeeID { get; set; }
        /// <summary>
        ///  员工所属部门
        /// </summary>
        public int iDepartmentID { get; set; }
        /// <summary>
        ///  员工状态
        /// </summary>
        public int iEmployeeStatusID { get; set; }
        /// <summary>
        ///  员工职位
        /// </summary>
        public int iJobTitleID { get; set; }
        /// <summary>
        ///  员工名字
        /// </summary>
        public string nvcEmployeeName { get; set; }
        /// <summary>
        ///  工号
        /// </summary>
        public string nvcEmployeeNumber { get; set; }
        /// <summary>
        ///  性别 true: 男
        /// </summary>
        public bool bGender { get; set; }
        /// <summary>
        ///  手机
        /// </summary>
        public string nvcMobile { get; set; }
        /// <summary>
        ///  邮箱
        /// </summary>
        public string nvcEmail { get; set; }
        /// <summary>
        ///  照片
        /// </summary>
        public byte[] bnImageBinary { get; set; }
        /// <summary>
        ///  扩展
        /// </summary>
        public string nvcImageBinaryExtension { get; set; }
        /// <summary>
        ///  添加时间
        /// </summary>
        public DateTime dtStartDate { get; set; }
        /// <summary>
        ///  结束时间
        /// </summary>
        public DateTime dtEndDate { get; set; }
        /// <summary>
        ///  员工描述
        /// </summary>
        public string nvcDiscription { get; set; }
        /// <summary>
        ///  评论
        /// </summary>
        public string nvcRemark { get; set; }
        /// <summary>
        ///  最后修改时间
        /// </summary>
        public DateTime dtLastModified { get; set; }
        /// <summary>
        ///  国家
        /// </summary>
        public string nvcCountry { get; set; }
        /// <summary>
        ///  省
        /// </summary>
        public string nvcProvince { get; set; }
        /// <summary>
        ///  市
        /// </summary>
        public string nvcCity { get; set; }
        /// <summary>
        ///  区
        /// </summary>
        public string nvcStreet1 { get; set; }
        /// <summary>
        ///  街道
        /// </summary>
        public string nvcStreet2 { get; set; }
        /// <summary>
        ///  邮编
        /// </summary>
        public string nvcPostalCode { get; set; }
        /// <summary>
        ///  生日
        /// </summary>
        public DateTime dtBirthday { get; set; }
        /// <summary>
        ///  月
        /// </summary>
        public string nvcLunarMonth { get; set; }
        /// <summary>
        ///  日
        /// </summary>
        public string nvcLunarDay { get; set; }
        /// <summary>
        ///  紧急联系人名字
        /// </summary>
        public string nvcEmergencyContactName { get; set; }
        /// <summary>
        ///  紧急联系电话1
        /// </summary>
        public string nvcEmergencyContactPhone1 { get; set; }
        /// <summary>
        ///  紧急联系电话2
        /// </summary>
        public string nvcEmergencyContactPhone2 { get; set; }
        /// <summary>
        ///  是否阳历生日
        /// </summary>
        public bool bIsSolarBitthday { get; set; }
        /// <summary>
        ///  创建时间
        /// </summary>
        public DateTime dtCreationTime { get; set; }
        /// <summary>
        ///  是否已被删除
        /// </summary>
        public bool bIsDelete { get; set; }
        /// <summary>
        ///  登陆密码
        /// </summary>
        public string nvcLoginPassword { get; set; }
        /// <summary>
        ///  是否允许登陆系统
        /// </summary>
        public bool bEnableLogin { get; set; }
        /// <summary>
        ///  最后登陆时间
        /// </summary>
        public DateTime dtLastLoginTime { get; set; }
        /// <summary>
        ///  扩展属性
        ///  
        /// </summary>
        public string ntExtendedProperity { get; set; }
    }

    /// <summary>
    /// 员工信息 为列表显示
    /// </summary>
    [Serializable]
    public class EmployeeSimpleInfo
    {
        /// <summary>
        ///  人员ID
        /// </summary>
        public int iEmployeeID { get; set; }

        /// <summary>
        ///  人员姓名
        /// </summary>
        public string nvcEmployeeName { get; set; }

        /// <summary>
        ///  人员编号
        /// </summary>
        public string nvcEmployeeNumber { get; set; }

        /// <summary>
        ///  所属部门
        /// </summary>
        public string nvcDepartment { get; set; }

        /// <summary>
        ///  在职状态
        /// </summary>
        public string nvcEmployeeStatus { get; set; }

        /// <summary>
        ///  职位名称
        /// </summary>
        public string nvcJobTitle { get; set; }

        /// <summary>
        ///  是: 男  ; 非:女
        /// </summary>
        public bool bGender { get; set; }

        /// <summary>
        ///  手机号码
        /// </summary>
        public string nvcMobile { get; set; }

        /// <summary>
        ///  Email
        /// </summary>
        public string nvcEmail { get; set; }

        /// <summary>
        ///  入职时间
        /// </summary>
        public DateTime dtStartDate { get; set; }

        /// <summary>
        ///  离职时间，if 不为空  !=  已离职 ，主要是根据状态来决定的
        /// </summary>
        public DateTime dtEndDate { get; set; }

        /// <summary>
        ///  软删除
        /// </summary>
        public bool bIsDelete { get; set; }
    }

    /// <summary>
    /// 统计信息
    /// </summary>
    [Serializable]
    public class EmployeeSaleTotalInfo : EmployeeSimpleInfo
    {
        /// <summary>
        /// 销售额
        /// </summary>
        public int TotalNum { get; set; }
    }
}

